package pers.weiney.annotation;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import pers.weiney.validation.StateValidation;

import java.lang.annotation.*;

@Documented // 可生成到帮助文档
@Target({ElementType.FIELD}) // 目标使用在属性上
@Retention(RetentionPolicy.RUNTIME) // 保留该注解到运行时
@Constraint(
        validatedBy = {StateValidation.class} // 指定提供校验规则的类
)
public @interface State {
    // 提供校验失败后的提示信息
    String message() default "state参数的值只能为草稿或者已发布";
    // 指定分组
    Class<?>[] groups() default {};
    // 负载，获取State的附加信息
    Class<? extends Payload>[] payload() default {};
}
